using UnityEngine;
using UnityEngine.UI; // 如果使用UI RawImage

[ExecuteInEditMode] // 添加这个属性
public class DebugRTViewer : MonoBehaviour
{
    // 如果使用场景中的Quad，拖入使用DebugRTDisplay Shader的材质
    public Material displayMaterial;

    // 如果使用UI RawImage，拖入对应的RawImage组件
    public RawImage displayRawImage;

    // 要查找的全局纹理名称
    private static readonly int EyebrowMaskTexID = Shader.PropertyToID("_EyebrowMaskTexture");

    void Update()
    {
        // 尝试获取全局纹理
        Texture rt = Shader.GetGlobalTexture(EyebrowMaskTexID);

        if (rt != null)
        {
            // 如果使用材质 (例如挂在Quad上)
            if (displayMaterial != null)
            {
                // 将RT设置给材质的主纹理
                displayMaterial.SetTexture("_MainTex", rt);
            }

            // 如果使用UI RawImage
            if (displayRawImage != null)
            {
                // 将RT设置给RawImage的纹理
                displayRawImage.texture = rt;
            }
        }
        else
        {
            // 如果找不到RT，可以清除显示或显示默认纹理
            if (displayMaterial != null)
            {
                displayMaterial.SetTexture("_MainTex", Texture2D.blackTexture); // 显示黑色
            }
            if (displayRawImage != null)
            {
                displayRawImage.texture = Texture2D.blackTexture; // 显示黑色
            }
            // Debug.LogWarning("_EyebrowMaskTexture not found globally."); // 可以取消注释来调试
        }
    }
}